/**
 * 
 */
package com.holystone.orca.util.code;

import org.apache.log4j.Logger;
import sun.misc.BASE64Encoder;

import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/**
 * Copyright (c) 2015, HOLYSTONE Technologies, Inc. All right reserved.
 * 
 * @desc:
 * @author:王凯征
 * @date:2015年11月3日 下午4:32:56
 */
public class Md5Util {

	private static final Logger logger = Logger.getLogger(Md5Util.class);

	/**
	 * @author: 王凯征
	 * @date: 2015年11月3日 下午4:32:56
	 * @param str
	 * @return String
	 */
	public static String EncoderByMd5(String str) {
		logger.debug(">>>EncoderByMd5(String str)");

		String newstr = null;
		// 确定计算方法
		MessageDigest md5;
		try {
			md5 = MessageDigest.getInstance("MD5");
			BASE64Encoder base64en = new BASE64Encoder();
			// 加密后的字符串
			newstr = base64en.encode(md5.digest(str.getBytes("utf-8")));
		} catch (UnsupportedEncodingException e) {
			logger.error(e, e);
		} catch (NoSuchAlgorithmException e) {
			logger.error(e, e);
		}

		logger.debug("<<<EncoderByMd5(String str):" + newstr);
		return newstr;
	}
}
